/*
 * @(#)RuleOperationConstant.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.rules;

import org.mandarax.lib.math.IntArithmetic;
import org.mandarax.lib.text.StringArithmetic;

/**
 * <p>Class Name:  RuleOperationConstant </p>
 * 
 * <p>Description: This class offer some constants for Rule Engine. </p>
 * 
 * @author         Tony Chen
 * @company        DCIVision Limited
 * @creation date  25/07/2005
 * @version        $Revision: 1.22 $
 */
public class RuleOperationConstant {
  
  // *   Rule Type 
  public static final String RULE_TYPE_PUBLIC = "U";
  public static final String RULE_TYPE_PRIVATE = "R";
  
  // *   Rule Category
  public static final String RULE_CATEGORY_EMAIL_ARCHIVE = "EmailArchive";
  
  // *   Module Name Prefix
  public static final String KB_PREFIX_DMS = "DMS";
  public static final String KB_PREFIX_WORKFLOW = "WKF";
  
  // *   Rule Property
  public static final String RULE_ID = "ID";
  public static final String RULE_NAME = "ruleName";
  public static final String RULE_TYPE = "ruleType";
  public static final String RULE_CATEGORY = "ruleCategory";
  public static final String RULE_DESCRIPTION = "ruleDescription";
  public static final String RULE_CONDITION_RELATION = "ruleConditionRelation";
  public static final String RULE_SEQ_NO = "ruleSeqNo";
  public static final String RULE_NOT_APPLY_OTHER = "ruleNotApplyOther";
  public static final String RULE_STATUS_ENABLED = "ruleEnable";
  public static final String RULE_DETAIL_DEACRIPTION = "ruleDetailDescription";
  public static final String RULE_DESCRIPTION_DISPLAY = "description";
  
  
  public static final String RULE_CREATOR_ID = "ruleCeatorID";
  public static final String RULE_CREATE_DATE = "ruleCreateDate";	
  public static final String RULE_UPDATER_ID = "ruleUpdaterID"; 
  public static final String RULE_UPDATE_DATE = "ruleUpdateDate";	
  public static final String RULE_UPDATE_COUNT = "ruleUpdateCount"; 
  
  // *  filter function
  public static final String STRING_CONTAINS = "I";
  public static final String STRING_START_WITH = "S";
  public static final String STRING_EQUALS = "=";
  public static final String STRING_NOT_EQUALS = "<>";
  
  // *  private rule function
  public static final String PRIVATE_RULE_FUNCTION = "R";
  
  // *  predicate type
  public static final String PREDICATE_TYPE_EQUAL = StringArithmetic.EQUAL.getName();
  public static final String PREDICATE_TYPE_START_WITH = StringArithmetic.STARTS_WITH.getName();
  public static final String PREDICATE_TYPE_NOT_EQUAL = StringArithmetic.NOT_EQUAL.getName();
  public static final String PREDICATE_TYPE_EQUAL_IGNORE_CASE = StringArithmetic.EQUAL_IGNORE_CASE.getName();
  public static final String PREDICATE_TYPE_CONTAINES = StringArithmetic.CONTAINS.getName();
  public static final String PREDICATE_TYPE_CONTAINES_ARRAY = com.dcivision.rules.core.StringArithmetic.CONTAINS_ARRAY.getName();
  public static final String PREDICATE_TYPE_CONTAINES_EQUALS = com.dcivision.rules.core.StringArithmetic.CONTAIN_EQUALS.getName();
  public static final String PREDICATE_TYPE_GREATER_THAN_OR_EQUAL = IntArithmetic.GREATER_THAN_OR_EQUAL.getName();
  
  
  // *  rule condition relation
  public static final String CONDITION_AND = "A";
  public static final String CONDITION_OR = "O";
  
  // * SimplePredicate Name
  public static final String SIMPLE_PREDICATE_NAME = "ruleActionSetAction";
  
  // * Split String 
  public static final String SPLIT_STRING = "|";
  public static final String SPLIT_COMMA = ",";
  public static final String SPLIT_COLON = ":";
  public static final String SPLIT_SEMICOLON = ";";
  public static final String SPLIT_BIAS = "/";
}
